home *** CD-ROM | disk | FTP | other *** search
HyperBook | 1990-10-07 | 85.7 KB | 798 lines |
- call interactive(0)
- indic = searchname('1:','Today Box')
- if indic = '' then do
- indic = searchname('0:','Today Box')
- if indic = '' then exit
- end
- parse value date() with day month year .
- day = strip(day,'l','0')
- if year = 1991 & abbrev(getname(':'),month) then do
- ob = searchname(':','Date_' || day || '_')
- if ob ~= '' then do
- call setposition(indic, getleft(ob)+5, gettop(ob)+2)
- call setactionrexx(indic, 'call _daymacro(''' || getname(ob) || '''())')
- if getpage(indic) ~= currentpage() then call relocate(indic, ':')
- end
- end
- else if getpage(indic) = currentpage() then
- call relocate(indic,'0:')
- PageEntryMacro
- call _daymacro(initiator())
- DayMacro
- {/* DeleteEntry
- Delete the entry for one of the days in the calendar.
- row = getclickrow('Click on the day whose entry you want to clear')
- col = getcolumn()
- obj = getobjectat(col,row)
- if obj='' then exit
- if getname(obj)='Today Box' then
- obj=getobjectat(getleft(obj)-1,row)
- if left(getname(obj),5) = 'Date_' then do
- n = strip(substr(getname(obj),6),'t','_') + 0
- if getresponse(' Really clear entry for' getname(':') n || '? ') then do
- do until item=''
- item = searchitems('Entries'(), n || '__')
- if item ~= '' then call delete(item)
- end
- call setbackground(obj,3)
- end
- end
- DeleteEntry
- w/* Summarize - Display summary of month's events. */
- call beginprompt('Working...')
- say PrepareSummary(currentpage())
- Summarize
- /* UseIndex - Called by Index button on every calendar page */
- pg = inputpage('Select month')
- if pg ~= '' & pg ~= currentpage() then do
- call gotopage(pg)
- call pageentrymacro()
- end
- UseIndex
- /* ClearMonth - Clear all entries in current month */
- if getresponse(' Really clear all entries for this month? ') then
- call _clearmonth(currentpage())
- ClearMonth
- /* ClearCalendar - Clear all entries for whole year */
- if getresponse(' Really clear all entries in the calendar? ') then do
- call beginprompt('Working...')
- do i = 1 to numpages()
- call _clearmonth(objectnumber('',i))
- end
- end
- ClearCalendar
- U/* PrepareSummary (pg) */
- pg = arg(1)
- en = searchname(pg, 'Entries')
- d1 = searchname(pg, 'Date_1_')
- wdays = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'
- if en = '' then return ''
- if d1 = '' then return ''
- if getpage(en) ~= pg then return ''
- if getpage(d1) ~= pg then return ''
- day = (getleft(d1) - 38) % 86 - 1
- month = getname(pg)
- tx = ''
- do i=1 to 31
- ob = searchname(pg,'Date_' || i)
- if ob = '' then iterate
- if getbackground(ob) ~= 4 then iterate
- it = objectnumber('Entries'(),1)
- t = ''
- do while it ~= ''
- it = searchitems(it, right(i,2,'0') || '__')
- if it ~= '' then do
- t = t ' ' substr(getitemtext(it),5) || '0a'x
- it = getnext(it)
- end
- end
- if t ~= '' then tx = tx || word(wdays,(day + i) // 7 + 1) || ',' month i || '0a'x || t
- end
- return strip(tx,'t','0a'x)
- PrepareSummary(page)
- f/* _daymacro(ob) - What happens when you click on a day in the calendar.
- The MX variable in the first line determines the number of lines
- available to be typed in for each day. It may changed if desired.
- MX = 5
- ob = arg(1)
- CR = '0a'x
- /* Weekday is determined by the object's leftedge. We get the month from the
- page name, and the date from the first 3 characters of the object's
- text. Add '1991', and we've got the full date for use as prompt.
- n = (getleft(ob) - 38) % 86 + 1
- date = word('Sunday Monday Tuesday Wednesday Thursday Friday Saturday',n)
- day = compress(readnotetext(ob,0,3),'0a'x)
- date = date || ',' getname(':') day || ', 1991'
- /* The text is stored in up to MX items on the hidden list 'Entries'. Each
- item begins with the day number plus a double underscore. The text is
- gathered into the compound variable `text'. The old entries are not
- deleted yet in case the user cancels the inputform requester.
- day = right(day, 2, '0') || '__'
- list = 'Entries'()
- citm = 1
- item.citm = searchitems(list, day)
- do while item.citm ~= ''
- nitm = citm + 1
- text.citm = substr(getitemtext(item.citm),5)
- item.nitm = getnext(item.citm)
- if item.nitm ~= '' then
- item.nitm = searchitems(item.nitm,day)
- citm = nitm
- end
- citm = citm - 1
- /* The text is concatenated into the format required by inputform(), whose
- output, stripped of linefeeds at both ends, is returned, then parsed
- back into the `text' compound variable.
- txt = ''
- do i = citm + 1 to MX
- text.i = ''
- end
- do i = 1 to MX
- txt = txt || '3a'x || text.i || CR
- end
- txt = strip(inputform(date, strip(txt,'t',CR)), 'b', CR)
- do i = 1 to MX
- n = index(txt,CR)
- if n > 0 then do
- text.i = left(txt, n - 1)
- txt = substr(txt, n + 1)
- end
- else do
- text.i = txt
- txt = ''
- end
- end
- /* If all the input lines are empty (total length = 0), assume that the
- user cancelled the inputform requester (the DELETE button is available
- if it is desired to remove the entry), so exit.
- len = 0
- do i = 1 to MX
- len = len + length(text.i)
- end
- if len = 0 then exit
- /* Delete any previously-existing items for this day, then append any
- new non-empty lines back onto the Entries list. Set the background
- color of the day to yellow to show the presence of an entry. We have
- to delete the items in reverse order to avoid modifying the objnums
- of the items as yet undeleted.
- do i = citm to 1 by -1
- if item.i ~= '' then call delete(item.i)
- end
- do i = 1 to MX
- if text.i ~= '' then call appenditem(list, day || text.i, 1)
- end
- call setbackground(ob,4)
- _daymacro(obj)
- /* _clearmonth
- Clear all entries on the given page... This is called by ClearMonth
- and ClearCalendar.
- pg = arg(1)
- en = searchname(pg, 'Entries')
- call interactive(0)
- if en = '' then exit
- if getpage(en) ~= getpage(pg) then exit
- call clearlist(en)
- do i = 1 to numelements(pg)
- ob = objectnumber(pg,i)
- if left(getname(ob),5) = 'Date_' then
- if getbackground(ob) ~= 3 then
- call setbackground(ob,3)
- end
- _clearmonth(pg)
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "Date_31_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "January"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "NoDate"
- "NoDate"
- "NoDate"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "February"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "Date_31_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "March"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "NoDate"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "April"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "Date_31_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "May"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "Month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "NoDate"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "June"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "Date_31_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "July"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "Date_31_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "August"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "NoDate"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "September"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "UseIndex"
- Index
- "NoDate"
- "Entries"
- "Date_1_"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "Date_31_"
- "Date_6_"
- "Date_13_"
- "Date_20_"
- "Date_27_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "October"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Entries"
- "Date_1_"
- "Date_2_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_8_"
- "Date_9_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_15_"
- "Date_16_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_22_"
- "Date_23_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_29_"
- "Date_30_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "NoDate"
- "Date_3_"
- "Date_10_"
- "Date_17_"
- "Date_24_"
- "November"
- "FKeyHelp"
- 1991 HyperBook Calendar
- "Month"
- "SUN"
- "MON"
- "TUES"
- "WED"
- "THURS"
- THURS
- "FRI"
- "SAT"
- "Entries"
- "Date_2_"
- "Date_3_"
- "Date_4_"
- "Date_5_"
- "Date_6_"
- "Date_7_"
- "Date_9_"
- "Date_10_"
- "Date_11_"
- "Date_12_"
- "Date_13_"
- "Date_14_"
- "Date_16_"
- "Date_17_"
- "Date_18_"
- "Date_19_"
- "Date_20_"
- "Date_21_"
- "Date_23_"
- "Date_24_"
- "Date_25_"
- "Date_26_"
- "Date_27_"
- "Date_28_"
- "Date_30_"
- "Date_31_"
- "DeleteEntry"
- Delete
- "Summarize"
- Summa
- "UseIndex"
- Index
- "NoDate"
- "Date_1_"
- "Date_8_"
- "Date_15_"
- "Date_22_"
- "Date_29_"
- "December"
- "Today Box"
- call _daymacro('Date_3_'())
- diamond.font
- diamond.font
-